/*
 * Expression.java
 *
 * Created on March 1, 2007, 5:46 PM
 *
 * (C) R. Alexander Milowski alex@milowski.com
 */

package com.smallx.xpath.parser;

import java.util.ArrayList;

/**
 *
 * @author R. Alexander Milowski
 */
public interface Expression {
   
   public enum Axis {
      Child,
      Parent,
      Self,
      Attribute,
      DescendantOrSelf,
      Descendant,
      AncestorOrSelf,
      Ancestor,
      FollowingSibling,
      PrecedingSibling,
      Following,
      Preceding,
      Namespace
   }
   
   enum Operator {
      Or,
      And,
      Union,
      Root,
      Self,
      DescendantOrSelf,
      Parent,
      Step,
      Path,
      NodeTest,
      NamespaceTest,
      VariableRef,
      Literal,
      Number,
      Function,
      Add,
      Subtract,
      Divide,
      Modulo,
      Multiply,
      Negate,
      Filter,
      Equals,
      NotEquals,
      GreaterThan,
      GreaterThanEquals
   }
   
   Operator getOperator();
   
}
